package com.deep.search.model.vo;

import com.deep.common.model.dto.es.SkuEsModel;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 检索结果传输对象
 *
 * @author Deep
 * @date 2022/1/29
 */
@Data
public class SearchResultVO {
    /**
     * 商品信息
     */
    // es检索到的所有商品信息
    private List<SkuEsModel> products;

    /**
     * 分页信息
     */
    // 当前页码
    private Integer pageNum;
    // 总记录数
    private Integer totalPages;
    // 总页码
    private Long total;
    // 允许的页数集合[1、2、3、4、5]
    private List<Integer> pageNavs;

    /**
     * 品牌、分类、属性
     */
    // 当前查询到的结果所有涉及到的品牌
    private List<BrandVO> brands;
    // 当前查询到的结果所有涉及到的分类
    private List<CatalogVO> catalogs;
    // 当前查询到的结果所有涉及到的属性
    private List<AttrVO> attrs;

    // ============================以上是要返回的数据====================================

    //面包屑导航数据
    private List<NavVO> navs = new ArrayList<>();
    private List<Long> attrIds = new ArrayList<>();


    @Data
    public static class NavVO {
        private String navName;// 属性名
        private String navValue;//属性值
        private String link;// 取消了之后要调到那个地方
    }

    @Data
    public static class BrandVO {
        private Long brandId;
        private String brandName;
        private String brandImg;
    }

    @Data
    public static class CatalogVO {
        private Long catalogId;
        private String catalogName;
    }

    @Data
    public static class AttrVO {
        private Long attrId;
        private String attrName;
        private List<String> attrValue;
    }
}
